package com.itheima03;

import java.util.ArrayList;
import java.util.Comparator;

public class StreamDemo4 {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<String>();

        arrayList.add("linqingxia");
        arrayList.add("zhangmanyu");
        arrayList.add("wangzuxian");
        arrayList.add("liuyan");
        arrayList.add("zhangmin");
        arrayList.add("zhangwuji");

        System.out.println("排序前：");
        arrayList.forEach(System.out::println);
        System.out.println("--------");

        System.out.println("排序后：");
        // 需求1：按照字母顺序输出
        arrayList.stream().sorted().forEach(System.out::println);
        System.out.println("--------");

        // 需求2：按照字母长度输出
//        arrayList.stream().sorted(new Comparator<String>() {
//            @Override
//            public int compare(String o1, String o2) {
//                return o1.length() - o2.length();
//            }
//        }).forEach(System.out::println);

//        arrayList.stream().sorted((s1, s2) -> s1.length() - s2.length()).forEach(System.out::println);

        arrayList.stream().sorted((s1, s2) -> {
            int num = s1.length() - s2.length();
            int num2 = num == 0 ? s1.compareTo(s2) : num;
            return num2;
        }).forEach(System.out::println);

    }
}
